.attribute-management {
  padding: 0;
  background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
  min-height: 100vh;

  // 页面头部样式
  .page-header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    padding: 2rem;
    margin-bottom: 2rem;
    border-radius: 0 0 2rem 2rem;
    color: white;
    position: relative;
    overflow: hidden;

    &::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="white" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="white" opacity="0.1"/><circle cx="50" cy="10" r="0.5" fill="white" opacity="0.1"/><circle cx="10" cy="60" r="0.5" fill="white" opacity="0.1"/><circle cx="90" cy="40" r="0.5" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
      pointer-events: none;
    }

    .header-content {
      position: relative;
      z-index: 1;
      margin-bottom: 2rem;

      .page-title {
        font-size: 2.5rem;
        font-weight: 700;
        margin: 0 0 0.5rem 0;
        display: flex;
        align-items: center;
        gap: 1rem;

        .title-icon {
          background: rgba(255, 255, 255, 0.2);
          padding: 0.5rem;
          border-radius: 50%;
          backdrop-filter: blur(10px);
        }
      }

      .page-subtitle {
        font-size: 1.1rem;
        opacity: 0.9;
        margin: 0;
        font-weight: 300;
      }
    }

    .header-stats {
      display: flex;
      gap: 1.5rem;
      position: relative;
      z-index: 1;

      .stat-card {
        background: rgba(255, 255, 255, 0.15);
        backdrop-filter: blur(10px);
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 1rem;
        padding: 1.5rem;
        text-align: center;
        flex: 1;
        transition: all 0.3s ease;

        &:hover {
          transform: translateY(-5px);
          background: rgba(255, 255, 255, 0.25);
        }

        .stat-value {
          font-size: 2rem;
          font-weight: 700;
          margin-bottom: 0.5rem;
        }

        .stat-label {
          font-size: 0.9rem;
          opacity: 0.8;
        }
      }
    }
  }

  // 管理模块网格
  .management-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 1.5rem;
    padding: 0 2rem;
    margin-bottom: 2rem;

    .module-card {
      background: white;
      border-radius: 1rem;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
      transition: all 0.3s ease;
      overflow: hidden;
      border: 1px solid rgba(0, 0, 0, 0.05);

      &:hover {
        transform: translateY(-5px);
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
      }

      &.expanded {
        .expand-icon {
          transform: rotate(180deg);
        }
      }

      .card-header {
        padding: 1.5rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05);
        cursor: pointer;
        transition: all 0.3s ease;
        position: relative;

        &:hover {
          background: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);
          transform: translateY(-1px);

          .module-title {
            color: #667eea;
          }

          .expand-icon {
            color: #667eea;
            transform: scale(1.1);
          }
        }

        &:active {
          transform: translateY(0);
        }

        .header-left {
          display: flex;
          align-items: center;
          gap: 1rem;

          .module-icon {
            width: 3rem;
            height: 3rem;
            border-radius: 0.75rem;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
          }

          .module-info {
            .module-title {
              font-size: 1.2rem;
              font-weight: 600;
              margin: 0 0 0.25rem 0;
              color: #2d3748;
            }

            .module-desc {
              font-size: 0.9rem;
              color: #718096;
              margin: 0;
            }
          }
        }

        .header-right {
          display: flex;
          align-items: center;
          gap: 1rem;

          .item-count {
            :deep(.el-badge__content) {
              background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
              border: none;
            }
          }

          .expand-icon {
            transition: transform 0.3s ease;
            color: #718096;
            font-size: 1.2rem;

            &.rotated {
              transform: rotate(180deg);
            }
          }
        }
      }

      .card-content {
        padding: 0;
        animation: slideDown 0.3s ease;

        :deep(.el-card) {
          border: none;
          box-shadow: none;
          margin: 0;

          .el-card__header {
            background: #f8fafc;
            border-bottom: 1px solid #e2e8f0;
          }
        }
      }
    }
  }

  // 快速操作面板
  .quick-actions {
    padding: 0 2rem 2rem;

    .action-card {
      border-radius: 1rem;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
      border: 1px solid rgba(0, 0, 0, 0.05);

      :deep(.el-card__header) {
        background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
        color: white;
        border-radius: 1rem 1rem 0 0;

        .action-header {
          display: flex;
          align-items: center;
          gap: 0.5rem;
          font-weight: 600;
        }
      }

      .action-buttons {
        display: flex;
        gap: 1rem;
        flex-wrap: wrap;

        .el-button {
          border-radius: 0.5rem;
          padding: 0.75rem 1.5rem;
          font-weight: 500;
          transition: all 0.3s ease;

          &:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
          }
        }
      }
    }
  }

  // 响应式设计
  @media (max-width: 768px) {
    .page-header {
      padding: 1.5rem;
      margin-bottom: 1.5rem;

      .header-content .page-title {
        font-size: 2rem;
      }

      .header-stats {
        flex-direction: column;
        gap: 1rem;
      }
    }

    .management-grid {
      grid-template-columns: 1fr;
      padding: 0 1rem;
      gap: 1rem;
    }

    .quick-actions {
      padding: 0 1rem 1.5rem;

      .action-buttons {
        justify-content: center;

        .el-button {
          flex: 1;
          min-width: 120px;
        }
      }
    }
  }

  @media (max-width: 480px) {
    .page-header {
      padding: 1rem;
      border-radius: 0 0 1rem 1rem;

      .header-content .page-title {
        font-size: 1.5rem;
        flex-direction: column;
        text-align: center;
        gap: 0.5rem;
      }

      .header-stats .stat-card {
        padding: 1rem;

        .stat-value {
          font-size: 1.5rem;
        }
      }
    }

    .management-grid {
      padding: 0 0.5rem;

      .module-card .card-header {
        padding: 1rem;

        .header-left {
          gap: 0.75rem;

          .module-icon {
            width: 2.5rem;
            height: 2.5rem;
          }

          .module-info .module-title {
            font-size: 1rem;
          }
        }
      }
    }

    .quick-actions {
      padding: 0 0.5rem 1rem;

      .action-buttons .el-button {
        padding: 0.5rem 1rem;
        font-size: 0.9rem;
      }
    }
  }
}

// 动画效果
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

// 滚动条样式
.attribute-management {
  ::-webkit-scrollbar {
    width: 6px;
  }

  ::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
  }

  ::-webkit-scrollbar-thumb {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 3px;

    &:hover {
      background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
    }
  }
}